package org.jsola.hr.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.entity.BaseDeleteDO;
import org.jsola.core.entity.Key;

import java.util.Date;
import javax.persistence.Table;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "hr_attend_plan")
@Key(UUID = true)
public class AttendPlanDO extends BaseDeleteDO<String> {

    private static final long serialVersionUID = 1L;

    /**
     * 公司ID
     */
    private String companyId;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 考勤方案名称
     */
    private String name;
    /**
     * 方案类型 ; 1-固定时间上下班,2-按班次上下班,3-自由上下班
     */
    private Integer planType;
    /**
     * 打卡地点
     */
    private String punchLocationJson;
    /**
     * 打卡WIFIJSON
     */
    private String punchWifiJson;
    /**
     * 加班规则 ; 1-以加班申请为准,2-以打卡时间为准,3-以加班申请核算打卡记录
     */
    private Integer overtimeRule;
    /**
     * 是否同步中国节假日 ; 1-是,0-否
     */
    private Boolean isSynchLegalHoliday;
    /**
     * 是否手机提醒 ; 1-是,0-否
     */
    private Boolean isRemind;
    /**
     * 上班前x分钟
     */
    private Integer remindBefore;
    /**
     * 下班后x分钟
     */
    private Integer remindAfter;
    /**
     * 员工打卡时必须拍照 ; 1-是,0-否
     */
    private Boolean isTakePhoto;
    /**
     * 只能拍照 ; 备注不允许上传本地图片;1-是,0-否
     */
    private Boolean isOnlyPhoto;
    /**
     * 范围外打卡 ; 1-允许范围外打卡，记录为地点异常,2-允许范围外打卡，记录为正常外勤,3-不允许范围外打卡
     */
    private Integer punchRange;
    /**
     * 是否补卡申请 ; 1-是,0-否
     */
    private Boolean isMakeUp;
    /**
     * 每月不高于x下次
     */
    private Integer maxMakeUpCounts;
    /**
     * 生效时间 ; 1-明日生效，2-立即生效
     */
    private Integer takeEffect;
    /**
     * 生效开始日期
     */
    private Date startEffectTime;



}

